package com.maruping.disk.user.repository;

import com.maruping.disk.mybatis.entity.PtUserEntity;
import com.maruping.disk.mybatis.flexigrid.PagingEntity;
import com.maruping.disk.mybatis.ztree.ZtreeEntity;
import com.maruping.disk.user.entity.SearchUserEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface UserDao {
    List<PtUserEntity> queryUserList();
    void deleteUserByIds(@Param("ids") String[] idArray);
    void deleteUserById(@Param("id") String id);
    List<PtUserEntity> queryUserInfoListByPage(@Param("entity") SearchUserEntity entity,@Param("paging") PagingEntity paging);
    Integer queryUserTotal(@Param("entity") SearchUserEntity entity);
    PtUserEntity queryUserInfoById(@Param("userUuid") String userUuid);
    void modifyUserInfoById(@Param("entity") PtUserEntity entity);
    List<PtUserEntity> queryUserInfoByEmail(@Param("entity") PtUserEntity entity);
    List<PtUserEntity> queryUserInfoByMobile(@Param("entity") PtUserEntity entity);
    List<PtUserEntity> queryUserInfoByUserName(@Param("entity") PtUserEntity entity);
    void addUserInfo(@Param("entity") PtUserEntity entity);
    String queryRoleListByUser(@Param("id") String id);
    List<ZtreeEntity> queryRoleTreeList();
    void deleteRoleByUser(@Param("userUuid") String userUuid);
    void insertRoleRefUser(@Param("userUuid")String userUuid, @Param("roleUuid")String roleUuid);
    List<String> queryRoleByUser(@Param("userUuid")String userUuid);
    void updatePassword(@Param("userUuid") String userUuid, @Param("password") String password);
}